package com.hspedu.Override_;

public class Dog extends Animal{
    //1.因为Dog是 Animal 的子类
    //2.Dog 的cry方法 和animal 的cry方法定义形式一样(名称，返回值类型，参数)
    //3.这时我们就说 Dog 的cry 方法重写了Animal中的cry方法
    public void cry(){
        System.out.println("小狗汪汪叫..");
    }


    //注意事项：
    //  1.子类的方法的参数，方法名称，必须和其父类的方法一样
    //  2.子类方法的返回类型和父类返回类型一样，或者父类返回类型的子类
    public String m1(){
        System.out.println("Dog类中的m1方法被调用..");
        return null;
    }

/*
    //这里Object 不是 String的子类，因此编译错误
    public Object m2(){
        System.out.println("Dog类中的m2方法被调用..");
        return null;
    }*/
   /* public AAA m3(){
        return null;
    }*/

    //细节：子类方法不能缩小父类方法的访问权限，但是可以相等或者扩大
    //public > protected > default > private
    public void eat(){

    }
}

class AAA{

}
class BBB extends AAA{

}